package top.wugy.blog.routes;

import com.jfinal.core.Controller;
import top.wugy.blog.kits.Const;

abstract public class BaseController extends Controller {

    Integer getPageNum() {
        Integer pageNum = getParaToInt("pageNum");
        return null == pageNum ? 1 : pageNum;
    }

    boolean isLogin() {
        return null != getSessionAttr(Const.TOKEN);
    }

    /**
     * 渲染响应结果
     */
    protected void render() {
        // 如果没有设置响应码，则添加默认响应码
        if (getAttr(Const.RES_CODE) == null) {
            // 添加默认响应码
            setAttr(Const.RES_CODE, Const.SUCCESS);
        }
        // 渲染JSON数据
        renderJson();
    }


    void renderOk() {
        render(Const.SUCCESS);
    }

    void renderOk(Object data) {
        render(Const.SUCCESS, null, data);
    }

    protected void render(int code) {
        render(code, null, null);
    }

    protected void render(int code, String msg) {
        render(code, msg, null);
    }

    protected void render(int code, String msg, Object data) {
        setAttr(Const.RES_CODE, code).setAttr(Const.RES_MSG, msg).setAttr(Const.RES_DATA, data);
        // 渲染JSON数据
        renderJson();
    }

}
